<?php
/*
一:散列表（Hash table，也叫哈希表），是根据关键码值(Key value)
而直接进行访问的数据结构。也就是说，它通过把关键码值映射到表中
一个位置来访问记录，以加快查找的速度。这个映射函数叫做散列函数，
存放记录的数组叫做散列表。
给定表M，存在函数f(key)，对任意给定的关键字值key，代入函数后若
能得到包含该关键字的记录在表中的地址，则称表M为哈希(Hash）表，
函数f(key)为哈希(Hash) 函数。
hash表示例:  {"年龄":"27","性别":"男","身高":"140"}


	1.阅读hash的定义,他跟PHP中何种数据类型类似,实现原理相同?

	2.有二维数组如下,工程师需要写一个类hash表供其他人调用,并
	存入redis缓存服务器中，以便快速通过姓名(name)获取年龄(age)。
	如：已知姓名为miao,则快速获取年龄为: $age = $info['miao'];
	$info = array(
		array('name'=>'miao','age'=>'3'),
		array('name'=>'wang','age'=>'13'),
		array('name'=>'jiji','age'=>'34'),
		array('name'=>'keke','age'=>'4')
	)
*/


//答题1：array类型
//答题2：
    $info = array(
		array('name'=>'miao','age'=>'3'),
		array('name'=>'wang','age'=>'13'),
		array('name'=>'jiji','age'=>'34'),
		array('name'=>'keke','age'=>'4')
	);

//      $info['name']=$age;
     
//      $new = array(
//    	 'miao'=>3,'wang'=>13,'jiji'=>34,'keke'=>4
//    );
  
//     echo $new['miao'];
/*
        $new=array();

        foreach ($info as $key => $value) {

        	// $value = array('name'=>'miao','age'=>'3');
        	$new[$value['name']] = $value['age'];
        }
		
		print_r($new);
*/
/*
		$new=array();
		foreach($info as $key=>$value){
			$new[$value['name']]=$value['age'];
		}              
        print_r($new);
        echo $new['miao'];
*/

        $new=array();
        foreach($info as $key=>$value){
        	$new[$value['name']]=$value['age'];
        }
        echo $new['wang'];